package com.huhao.wshare.dto.Dynamic;

import com.huhao.wshare.dto.User.UserInfoDTO;
import com.huhao.wshare.entity.Comment;
import lombok.Data;

import java.time.LocalDateTime;

@Data
public class CommentDTO {
    private Long id;
    private UserInfoDTO author; // 修改点：使用 UserInfoDTO 并重命名为 author
    private String content;
    private LocalDateTime createTime;

    /**
     * 修改点：新增静态工厂方法，将转换逻辑内聚到 DTO 自身
     */
    public static CommentDTO fromComment(Comment comment) {
        if (comment == null) return null;
        CommentDTO dto = new CommentDTO();
        dto.setId(comment.getId());
        // 调用 UserInfoDTO 的静态工厂方法来转换作者信息
        dto.setAuthor(UserInfoDTO.fromUser(comment.getUser()));
        dto.setContent(comment.getContent());
        dto.setCreateTime(comment.getCreateTime());
        return dto;
    }
}
